package com.relytosoft.mizar.media.common.enums;

import java.util.Objects;

/**
 * @author wss
 * @version 1.0
 * @date 2022/5/26 14:57
 */
public enum TaskStatusEnum {

    /**
     * 未开始
     */
    NOT_STARTED("未开始", -1),

    /**
     * 创建中
     */
    CREATED("创建中", 0),

    /**
     * 运行中
     */
    RUNING("运行中", 1),

    /**
     * 已结束
     */
    FINISHED("已结束", 2),

    /**
     * 异常
     */
    UNUSUAL("异常", 3);

    String name;
    int value;

    TaskStatusEnum(String name, int value) {
        this.name = name;
        this.value = value;
    }

    public static TaskStatusEnum getByValue(Integer value) {
        if (Objects.isNull(value)) {
            return null;
        }

        TaskStatusEnum[] values = TaskStatusEnum.values();
        for (TaskStatusEnum taskStatusEnum : values) {
            if (Objects.equals(value, taskStatusEnum.getValue())) {
                return taskStatusEnum;
            }
        }
        return null;
    }

    public String getName() {
        return name;
    }

    public int getValue() {
        return value;
    }

    @Override
    public String toString() {
        return "TaskStatusEnum{" +
                "name='" + name + '\'' +
                ", value=" + value +
                '}';
    }
}
